﻿Public Class frmEstadoCuenta

    Dim cliente As New pe.com.gulda.Cliente
    Dim vendedor As New pe.com.gulda.Vendedor
    Dim deudas As New pe.com.gulda.Deuda()
    Dim servicio As New pe.com.gulda.servicio
    Dim report As New crEstCuenta

    Sub mostrarDatos()
        Cursor = Cursors.WaitCursor
        cliente = servicio.obtenerClientesXId(txtCliente.Text.Trim)
        vendedor = servicio.obtenerVendedor(cliente.VEN_Codigo)

        Dim deudas() As pe.com.gulda.Deuda
        deudas = servicio.DocumentosDeuda(txtCliente.Text)

        Dim ds As New dsDeudas

        Dim acumulador As Decimal = 0

        For i = 0 To deudas.Length - 1
            ds.Tables("Deudas").Rows.Add(deudas(i).DEU_Tipo, deudas(i).DEU_Numero, deudas(i).DEU_Femision, deudas(i).DEU_FVencimiento, deudas(i).DEU_Moneda,
                                               deudas(i).DEU_Monto, deudas(i).DEU_Saldo, deudas(i).DEU_Estado, deudas(i).DEU_Banco, deudas(i).DEU_NroUnico)
            If deudas(i).DEU_Moneda = "US$/." Then
                acumulador = acumulador + (CDec(deudas(i).DEU_Monto) * 2.77)
            Else
                acumulador = acumulador + CDec(deudas(i).DEU_Monto)
            End If
        Next

        report.SetDataSource(ds)
        Me.crvEstado.ReportSource = report

        report.SetParameterValue("@Codigo", txtCliente.Text.Trim)
        report.SetParameterValue("@Cliente", cliente.CLI_Descripcion)
        report.SetParameterValue("@Ruc", cliente.Ruc)
        report.SetParameterValue("@Direccion", cliente.CLI_DireccionCobranza)
        report.SetParameterValue("@Vendedor", vendedor.VEN_Descripcion)
        report.SetParameterValue("@TotalSoles", Math.Round(acumulador, 2))
        report.SetParameterValue("@TotalDolares", Math.Round(acumulador / 2.77, 2))

        Cursor = Cursors.Default
    End Sub

    Private Sub btnProcesar_Click(sender As System.Object, e As System.EventArgs) Handles btnProcesar.Click
        mostrarDatos()
    End Sub

End Class